1. Field of the Invention
The present invention relates to a semiconductor device. In this specification, the semiconductor device refers to a semiconductor element itself or a device including the semiconductor element, and an example of such a semiconductor element is a thin film transistor. Therefore, a liquid crystal display device, a memory device, and the like are also included in the category of the semiconductor device.
2. Description of the Related Art
A programmable semiconductor device is a kind of semiconductor device. The programmable semiconductor device includes a logic circuit which can be reconfigured by a user, and such a semiconductor device is called, for example, a programmable logic device (PLD).
An example of PLD is a semiconductor device having the following structure: a plurality of logic circuits are provided, and a connection between the logic circuits or the function of the logic circuits can be changed with data (called configuration data) stored in a memory unit (called a configuration memory), which enables a user to change the circuit design. As the configuration data, for example, data stored in a look-up table (LUT) is used.
A static random access memory (SRAM) is generally used as the configuration memory; however, it has a problem in that data inversion (upset) is likely to occur due to soft errors. In order to detect such an error, it is necessary to regularly read out data from a memory element connected to each program element in a programmable semiconductor device. An example of such detection of errors is a cyclic redundancy check (CRC), which allows detection of the data upset (see Patent Document 1, for example).